Блог им. AdrenaLeen |Бектест коинтегрированных пар на MOEX за 2018 год на часовом таймфрейме

Расскажу о своих успехах за апрель. Я переписала бектестер (который умеет брутфорсить весь рынок) для торговли с пропущенными данными. В прошлом посте мы затрагивали проблему заполнения пропущенных данных для статистического анализа. Там это было полезно, но когда дело доходит до бектестов, симулировать торговлю в момент, когда на инструменте не было ликвидности, это ошибка. Какая логика получилась у меня?

Так как я исследую парную торговлю, то дожидаюсь момента, когда на обоих инструментах появляется ликвидность, только после этого встаем в позицию или выходим из нее. Дизайн эксперимента не подразумевает подглядываний в будущее: все параметры для оптимизации рассчитываются на первой половине наблюдений, на второй половине происходит симуляция торговли.

В эсперименте участвовало 80 коинтегрированных пар, которые просто втупую, не глядя были загружены в бектестер. Я не видела по ним ни спреды, ни сами ряды. Мне было важно, чтобы алгоритм перемалывал даже пары низкого качества и в среднем выдавал положительный результат. Получилось в среднем 4,78% годовых на 1 контракт.

( Читать дальше )

Блог им. AdrenaLeen |Проблема заполнения пропущенных данных

В связи с тем, что у моего проекта появились доны, считаю важным рассказать о своих успехах за прошедший месяц. Я конкретно упоролась с тестированием коинтеграции на часовом таймфрейме брутфорсом. Давно еще обнаружилась проблема в моем софте: на часовиках появляется очень много «дыр» в данных, из-за чего совместить их «в лоб» друг с другом оказывается не самой лучшей идеей, потому что идеально совпадающих пар в таком случае получается очень мало.

Этой проблемы практически не возникало на дневном таймфрейме. Также это легко решить при тестировании одной пары, но когда речь идет о тысячах или миллионах пар, ребром встает вопрос, а что с этим делать? Первое, что предстояло решить: заполнять пропущенные значения или симметрично удалять «дыры» из второго ряда в паре. Я решила, что удалять данные, — это слишком расточительно, поэтому выбрала первый вариант.

Далее оставался вопрос, каким методом заполнять данные. На выбор было:
  1. предыдущим не пропущенным значением
  2. следующим не пропущенным значением


( Читать дальше )

Блог им. AdrenaLeen |База коинтегрированных пар

Друзья, представляю вашему вниманию базу коинтегрированных пар:
iqsignal.net/coint

На сайте выложена база данных, состоящая из 1 296 208 коинтегрированных пар (из 14 163 423 предварительно проанализированных пар) с 7 бирж (MOEX, NYSE, NASDAQ, AMEX, Poloniex, Binance, Kraken). Для того, чтобы этот проект появился, были написаны:
  1. 7 парсеров
  2. приложение для статистического анализа, которое использует матлаб для проверки коинтеграции и получения коэффициента авторегрессии коинтеграционного спреда
  3. бектестер, корректность которого была проверена сравнением сделок с бектестером метатрейдера
Ранее у меня была идея сделать сервис торговых сигналов по парному арбитражу. Однако после тщательных исследований стало понятно, что эта идея не подходит в качестве успешной бизнес-модели. Анализ рынка показал, что веб-приложение, связанное только с темой коинтеграции, способно захватить лишь очень узкий сегмент.

Сейчас мы сделали пивот. Однако база данных с коинтегрированными парами может быть полезна, если вы занимаетесь парным арбитражом.

....все тэги
UPDONW
Новый дизайн